//package com.fundodoo.sfe.admin.controller;
//
//import java.util.List;
//import java.util.Locale;
//import java.util.Map;
//
//import org.apache.shiro.authz.annotation.RequiresPermissions;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.context.MessageSource;
//import org.springframework.context.i18n.LocaleContextHolder;
//import org.springframework.stereotype.Controller;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.ResponseBody;
//
//import com.fundodoo.sfe.common.annotation.Log;
//import com.fundodoo.sfe.common.controller.BaseController;
//import com.fundodoo.sfe.domain.Dict;
//import com.tpv.vc.common.domain.QueryRequest;
//import com.tpv.vc.common.domain.ResponseBo;
//import com.tpv.vc.system.service.DictService;
//
//import io.undertow.util.FileUtils;
//
//@Controller
//public class DictController extends BaseController {
//
//    private Logger log = LoggerFactory.getLogger(this.getClass());
//
//    @Autowired
//    private DictService dictService;
//    
//    @Autowired
//    private MessageSource messageSource;
////    private Locale locale = LocaleContextHolder.getLocale();
//
//    @Log("访问字典管理页面")
//    @RequestMapping("dict")
//    @RequiresPermissions("dict:list")
//    public String index() {
//        return "system/dict/dict";
//    }
//
//    @Log("获取字典信息列表")
//    @RequestMapping("dict/list")
//    @RequiresPermissions("dict:list")
//    @ResponseBody
//    public Map<String, Object> dictList(QueryRequest request, Dict dict) {
//        return super.selectByPageNumSize(request, () -> this.dictService.findAllDicts(dict, request));
//    }
//
//    @Log("导出字典信息excel")
//    @RequestMapping("dict/excel")
//    @ResponseBody
//    public ResponseBo dictExcel(Dict dict) {
//    	Locale locale = LocaleContextHolder.getLocale();
//        try {
//            List<Dict> list = this.dictService.findAllDicts(dict, null);
//            return FileUtils.createExcelByPOIKit(messageSource.getMessage("dict.export.name", null, locale), list, Dict.class);
//        } catch (Exception e) {
//            log.error("导出字典信息Excel失败", e);
//            return ResponseBo.error(messageSource.getMessage("export.fail", null, locale));
//        }
//    }
//
//    @Log("导出字典信息csv")
//    @RequestMapping("dict/csv")
//    @ResponseBody
//    public ResponseBo dictCsv(Dict dict) {
//    	Locale locale = LocaleContextHolder.getLocale();
//        try {
//            List<Dict> list = this.dictService.findAllDicts(dict, null);
//            return FileUtils.createCsv("字典表", list, Dict.class);
//        } catch (Exception e) {
//            log.error("导出字典信息Csv失败", e);
//            return ResponseBo.error(messageSource.getMessage("export.fail", null, locale));
//        }
//    }
//
//    @Log("获取字典信息")
//    @RequestMapping("dict/getDict")
//    @ResponseBody
//    public ResponseBo getDict(Long dictId) {
//    	Locale locale = LocaleContextHolder.getLocale();
//        try {
//            Dict dict = this.dictService.findById(dictId);
//            return ResponseBo.ok(dict);
//        } catch (Exception e) {
//            log.error("获取字典信息失败", e);
//            return ResponseBo.error(messageSource.getMessage("dict.get.fail", null, locale));
//        }
//    }
//
//    @Log("新增字典 ")
//    @RequiresPermissions("dict:add")
//    @RequestMapping("dict/add")
//    @ResponseBody
//    public ResponseBo addDict(Dict dict) {
//    	Locale locale = LocaleContextHolder.getLocale();
//        try {
//            this.dictService.addDict(dict);
//            return ResponseBo.ok(messageSource.getMessage("dict.add.success", null, locale));
//        } catch (Exception e) {
//            log.error("新增字典失败", e);
//            return ResponseBo.error(messageSource.getMessage("dict.add.fail", null, locale));
//        }
//    }
//
//    @Log("删除字典")
//    @RequiresPermissions("dict:delete")
//    @RequestMapping("dict/delete")
//    @ResponseBody
//    public ResponseBo deleteDicts(String ids) {
//    	Locale locale = LocaleContextHolder.getLocale();
//        try {
//            this.dictService.deleteDicts(ids);
//            return ResponseBo.ok(messageSource.getMessage("dict.delete.success", null, locale));
//        } catch (Exception e) {
//            log.error("删除字典失败", e);
//            return ResponseBo.error(messageSource.getMessage("dict.delete.fail", null, locale));
//        }
//    }
//
//    @Log("修改字典 ")
//    @RequiresPermissions("dict:update")
//    @RequestMapping("dict/update")
//    @ResponseBody
//    public ResponseBo updateDict(Dict dict) {
//    	Locale locale = LocaleContextHolder.getLocale();
//        try {
//            this.dictService.updateDict(dict);
//            return ResponseBo.ok(messageSource.getMessage("dict.update.success", null, locale));
//        } catch (Exception e) {
//            log.error("修改字典失败", e);
//            return ResponseBo.error(messageSource.getMessage("dict.update.fail", null, locale));
//        }
//    }
//}
